{{tag>wine BROUILLON}}

----



====== Wine et profils ======


Il arrive parfois que l'on ait des applications qui nécessitent une configuration  différente pour fonctionner.


Wine permet d'utiliser plusieurs profils pour différentes applications.

Il existe beaucoup de méthodes ; nous allons expliciter 3 méthodes ici.




===== 1 WinePrefix =====

(FIXME si des choses sont fausses, les corriger)

** WinePrefix** est la méthode de base pour différentes configurations. C'est, par exemple, la méthode utilisée par l'excellent [[:PlayOnLinux]].

WinePrefix permet de définir un dossier de configuration différent pour wine (au lieu du « ~/.wine/ »). Ainsi donc, il faudra recréer un dossier « /drive_c/ » pour héberger un dossier « /windows/ ».




==== Utilisation concrète ====

Il faut d'abord créer un nouveau dossier wine avec **wineprefixcreate** :

<code>
wineprefixcreate --prefix "/home/utilisateur/.wine_2/"
</code>

Puis configurer comme ceci :

<code>
env WINEPREFIX="/home/utilisateur/.wine_2/" winecfg
</code>

Et enfin pour utiliser un logiciel avec ce préfixe :

<code>
env WINEPREFIX="/home/utilisateur/.wine_2/" wine "/media/sda2/Jeux/Steam/steam.exe"
</code>

Votre second dossier wine sera donc ".wine_2".

\\

Pensez à créer un lanceur (sur votre bureau par exemple) avec cette commande.


===== 2 Paramètres des applications =====

{{  applications:winecfg.png?200}}

Ceci est censé être //la// méthode à utiliser. Malheureusement, à ce jour, la fonction est a moitié implémentée. Dommage.

Une fois **winecfg** lancé, vous avez la fenêtre ci-contre. Ajoutez votre « *.exe » à la liste, et définissez la version de Windows.


==== Et concrètement ? ====

Dans le dossier « /.wine/ », le fichier « user.reg » nous donne :

<code>
[Software\\Wine\\AppDefaults\\GP5.exe] 1181161431
"Version"="win2k"
</code>

Et si on lance **wine regedit**, alors on trouvera des choses de changée dans « HKEY_CURRENT_USER\Software\Wine\ » puis « AppDefaults\ ».



===== 3 Script de remplacement du fichier « user.reg » ======

**Cette méthode est très contraignante, mais elle fonctionne !**

Ici, le principe, c'est que l'on va avoir deux fichiers registre : « user.reg » et « user.reg.app ». Quand l'application spécifique sera lancée, on fera en sorte de mettre le fichier registre spécifique à la place de l'autre. Une fois l'application fermée, on remet tout comme avant.

Il y a deux choses à faire.

==== Créer le « user.reg.app » ====

Cela est très simple : 

  - Lancez **winecfg**, et configurez-le pour votre application ; enregistrer et quittez.
  - Allez dans « /.wine/ », et faites un copie de « user.reg » et renommez-là « user.app ».
  - Lancez **winecfg** pour refaire votre configuration « normale ».


==== Créer le script ====

Vous l'aurez compris, **il faut éviter que 2 programmes Wine soient lancés en même temps**. En effet, cela peut poser quelques problèmes au niveau du registre, alors évitons ;-). Un autre problème aussi : si l'ordinateur (ou peut-être même le programme) vient à planter, il se peut que cela pose problème.

Créez donc un fichier vide, dans lequel vous mettrez quelque-chose de similaire :

<code>
#!/bin/bash

wineserver -k # On tue le serveur wine pour s'assurer qu'aucune application wine n'est lancée

cp /home/user/.wine/user.reg /home/user/.wine/user.reg.back
cp /home/user/.wine/user.reg.app /home/user/.wine/user.reg


cd /home/user/.wine/drive_c/Program\ Files/ $1

wine application.exe

sleep 3 # Pas obligatoire

cp /home/user/.wine/user.reg /home/user/.wine/user.reg.app
cp /home/user/.wine/user.reg.back /home/user/.wine/user.reg
</code>

On peut éventuellement rajouter quelques « sleep » par-ci par là, mais //a priori//, cela n'est pas nécessaire…

Rendez votre script exécutable (//Propriété → Permissions//) et, éventuellement, placez-le dans « /usr/local/bin » (ce dossier doit avoir des permissions de lecture/écriture pour vous et les autres utilisateurs).


===== Liens =====

  * [[:wine|Page principale de Wine]]

----

//Contributeurs : [[:utilisateurs:adam0509]].//
